Data buses are used in integrated circuits (ICs) to transfer data between master devices, such as user-controlled microprocessors, and slave devices that control peripheral devices, such as a memories or the like. To avoid overlapping data messages that may lead to error in data transmission between the master and slave devices, it is common to employ an arbiter to arbitrate message traffic on the bus. One such bus design is an Advanced High-performance Bus (AHB) from ARM Limited of Cambridge, England. The AHB bus design is a form of an Advanced Microcontroller Bus Architecture (AMBA) bus. The AHB bus provides high performance, high clock frequency data transfer between multiple bus master devices and multiple bus slave devices through use of an arbiter. The AHB bus is particularly useful in integrated circuit chips, including single chip processors, to couple processors to on-chip memories and to off-chip external memory interfaces.
Many bus designs, including the AHB bus, employ a split technique whereby a slave device that cannot handle a command from a master device within some implementation-specific criterion delays the data transfer phase. Rather than hold the bus in a busy state until the slave device is ready to perform the transaction, the slave device may issue a split, so that the arbiter blocks the requesting master device from use of the bus and releases the bus for use by other master devices. When the given slave device becomes ready to perform the task, it releases the master and the arbiter re-arbitrates the master for use of the bus. Eventually, the formerly split master device will gain access to the bus to complete the data transfer.
One problem of data bus systems employing split techniques is that when the slave device has become ready to receive further commands, it releases only the master device whose command is first, or oldest, in the slave device input command queue. If other master devices whose transactions have been split by the slave device have a higher priority in the arbitration protocol than the master device being released, they must nevertheless wait until the slave device releases them, usually after the lower-priority master device has completed its transaction.